/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.apache.nifi.processors.huawei.obs;

import org.apache.nifi.flowfile.attributes.CoreAttributes;
import org.apache.nifi.proxy.ProxySpec;

public interface Constants {
    String NULL_VERSION_ID = "null";
    String OBS_BUCKET = "obs.bucket";
    String OBJECT_URL = "obs.objectUrl";
    String OBS_OBJECT = "obs.objectKey";
    String FILENAME = CoreAttributes.FILENAME.key();
    String OBS_LAST_MODIFIED = "obs.lastModified";
    String OBS_OPERATION = "obs.operation";
    String OBS_CONTENT_TYPE = "obs.contentType";
    String OBS_CONTENT_DISPOSITION = "obs.contentDisposition";
    String OBS_UPLOAD_ID = "obs.uploadId";
    String OBS_VERSION = "obs.version";
    String OBS_E_TAG = "obs.eTag";
    String OBS_CACHE_CONTROL = "obs.cacheControl";
    String OBS_STORAGE_CLASS = "obs.storeClass";
    String OBS_USER_META = "obs.userMetadata";
    String OBS_API_METHOD_ATTR_KEY = "obs.apiMethod";
    String OBS_OWNER = "obs.owner";
    String OBS_LENGTH = "obs.length";
    String OBS_IS_LATEST = "obs.latest";
    String OBS_API_METHOD_PUT_OBJECT = "PutOBSObject";
    String OBS_API_METHOD_MULTIPART_UPLOAD = "obs.multipartUpload";
    String OBS_SSE_ALGORITHM = "obs.algorithm";
    String OBS_ENCRYPTION_STRATEGY = "obs.encryptionStrategy";
    String OBS_EXPIRATION_TIME = "obs.expirationTime";
    String OBS_ERROR_Message = "obs.errorMessage";
   String OBS_ERROR_CODE =  "obs.errorCode";
    String OBS_STATUS_CODE =  "obs.statusCode";
    String OBS_ADDITIONAL_DETAILS = "obs.additionalDetails";
    String OBS_EXCEPTION = "obs.exception";
    String OBS_PROCESS_UNSCHEDULED_MESSAGE = "Processor unscheduled, stopping upload";
    String CONTENT_DISPOSITION_ATTACHMENT = "attachment; filename=";
    String HASH_ALGORITHM = "hash.algorithm";
    String HASH_VALUE = "hash.value";

    ProxySpec[] PROXY_SPECS = {ProxySpec.HTTP_AUTH};
}
